package com.example.demo.entity.secondary;

import javax.persistence.*;
import java.sql.Time;

/**
 * Created by dongjunpeng on 2017/10/30.
 */
@Entity
@Table(name = "OUTERLINK_BERTH_PLAN", schema = "GZ_TACO", catalog = "")
public class OuterlinkBerthPlanEntity {
    private String vesselVoyageNumber;
    private String vesselCode;
    private String vesselNameCn;
    private String vesselNameEn;
    private String inVoyage;
    private String outVoyage;
    private String inLaneCode;
    private String outLaneCode;
    private String operatorCode;
    private String agent;
    private String vesselType;
    private String flag;
    private String vesselStatus;
    private Long lengthOverAll;
    private Long lengthBetweenPerpendiculars;
    private Long bowToBridge;
    private Long sternToBridge;
    private String berthName;
    private String startBitt;
    private String endBitt;
    private String alongside;
    private Time eta;
    private String etb;
    private Time etw;
    private Time etc;
    private Time etd;
    private String ata;
    private Time atb;
    private Time atw;
    private Time atc;
    private Time atd;
    private String yot;
    private String yct;
    private Long loadingAmount;
    private Long dischargingAmount;
    private Long process;
    private Time updateTime;

    @Basic
    @Column(name = "VESSEL_VOYAGE_NUMBER")
    public String getVesselVoyageNumber() {
        return vesselVoyageNumber;
    }

    public void setVesselVoyageNumber(String vesselVoyageNumber) {
        this.vesselVoyageNumber = vesselVoyageNumber;
    }

    @Basic
    @Column(name = "VESSEL_CODE")
    public String getVesselCode() {
        return vesselCode;
    }

    public void setVesselCode(String vesselCode) {
        this.vesselCode = vesselCode;
    }

    @Basic
    @Column(name = "VESSEL_NAME_CN")
    public String getVesselNameCn() {
        return vesselNameCn;
    }

    public void setVesselNameCn(String vesselNameCn) {
        this.vesselNameCn = vesselNameCn;
    }

    @Basic
    @Column(name = "VESSEL_NAME_EN")
    public String getVesselNameEn() {
        return vesselNameEn;
    }

    public void setVesselNameEn(String vesselNameEn) {
        this.vesselNameEn = vesselNameEn;
    }

    @Basic
    @Column(name = "IN_VOYAGE")
    public String getInVoyage() {
        return inVoyage;
    }

    public void setInVoyage(String inVoyage) {
        this.inVoyage = inVoyage;
    }

    @Basic
    @Column(name = "OUT_VOYAGE")
    public String getOutVoyage() {
        return outVoyage;
    }

    public void setOutVoyage(String outVoyage) {
        this.outVoyage = outVoyage;
    }

    @Basic
    @Column(name = "IN_LANE_CODE")
    public String getInLaneCode() {
        return inLaneCode;
    }

    public void setInLaneCode(String inLaneCode) {
        this.inLaneCode = inLaneCode;
    }

    @Basic
    @Column(name = "OUT_LANE_CODE")
    public String getOutLaneCode() {
        return outLaneCode;
    }

    public void setOutLaneCode(String outLaneCode) {
        this.outLaneCode = outLaneCode;
    }

    @Basic
    @Column(name = "OPERATOR_CODE")
    public String getOperatorCode() {
        return operatorCode;
    }

    public void setOperatorCode(String operatorCode) {
        this.operatorCode = operatorCode;
    }

    @Basic
    @Column(name = "AGENT")
    public String getAgent() {
        return agent;
    }

    public void setAgent(String agent) {
        this.agent = agent;
    }

    @Basic
    @Column(name = "VESSEL_TYPE")
    public String getVesselType() {
        return vesselType;
    }

    public void setVesselType(String vesselType) {
        this.vesselType = vesselType;
    }

    @Basic
    @Column(name = "FLAG")
    public String getFlag() {
        return flag;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    @Basic
    @Column(name = "VESSEL_STATUS")
    public String getVesselStatus() {
        return vesselStatus;
    }

    public void setVesselStatus(String vesselStatus) {
        this.vesselStatus = vesselStatus;
    }

    @Basic
    @Column(name = "LENGTH_OVER_ALL")
    public Long getLengthOverAll() {
        return lengthOverAll;
    }

    public void setLengthOverAll(Long lengthOverAll) {
        this.lengthOverAll = lengthOverAll;
    }

    @Basic
    @Column(name = "LENGTH_BETWEEN_PERPENDICULARS")
    public Long getLengthBetweenPerpendiculars() {
        return lengthBetweenPerpendiculars;
    }

    public void setLengthBetweenPerpendiculars(Long lengthBetweenPerpendiculars) {
        this.lengthBetweenPerpendiculars = lengthBetweenPerpendiculars;
    }

    @Basic
    @Column(name = "BOW_TO_BRIDGE")
    public Long getBowToBridge() {
        return bowToBridge;
    }

    public void setBowToBridge(Long bowToBridge) {
        this.bowToBridge = bowToBridge;
    }

    @Basic
    @Column(name = "STERN_TO_BRIDGE")
    public Long getSternToBridge() {
        return sternToBridge;
    }

    public void setSternToBridge(Long sternToBridge) {
        this.sternToBridge = sternToBridge;
    }

    @Basic
    @Column(name = "BERTH_NAME")
    public String getBerthName() {
        return berthName;
    }

    public void setBerthName(String berthName) {
        this.berthName = berthName;
    }

    @Basic
    @Column(name = "START_BITT")
    public String getStartBitt() {
        return startBitt;
    }

    public void setStartBitt(String startBitt) {
        this.startBitt = startBitt;
    }

    @Basic
    @Column(name = "END_BITT")
    public String getEndBitt() {
        return endBitt;
    }

    public void setEndBitt(String endBitt) {
        this.endBitt = endBitt;
    }

    @Basic
    @Column(name = "ALONGSIDE")
    public String getAlongside() {
        return alongside;
    }

    public void setAlongside(String alongside) {
        this.alongside = alongside;
    }

    @Basic
    @Column(name = "ETA")
    public Time getEta() {
        return eta;
    }

    public void setEta(Time eta) {
        this.eta = eta;
    }

    @Basic
    @Column(name = "ETB")
    public String getEtb() {
        return etb;
    }

    public void setEtb(String etb) {
        this.etb = etb;
    }

    @Basic
    @Column(name = "ETW")
    public Time getEtw() {
        return etw;
    }

    public void setEtw(Time etw) {
        this.etw = etw;
    }

    @Basic
    @Column(name = "ETC")
    public Time getEtc() {
        return etc;
    }

    public void setEtc(Time etc) {
        this.etc = etc;
    }

    @Basic
    @Column(name = "ETD")
    public Time getEtd() {
        return etd;
    }

    public void setEtd(Time etd) {
        this.etd = etd;
    }

    @Basic
    @Column(name = "ATA")
    public String getAta() {
        return ata;
    }

    public void setAta(String ata) {
        this.ata = ata;
    }

    @Basic
    @Column(name = "ATB")
    public Time getAtb() {
        return atb;
    }

    public void setAtb(Time atb) {
        this.atb = atb;
    }

    @Basic
    @Column(name = "ATW")
    public Time getAtw() {
        return atw;
    }

    public void setAtw(Time atw) {
        this.atw = atw;
    }

    @Basic
    @Column(name = "ATC")
    public Time getAtc() {
        return atc;
    }

    public void setAtc(Time atc) {
        this.atc = atc;
    }

    @Basic
    @Column(name = "ATD")
    public Time getAtd() {
        return atd;
    }

    public void setAtd(Time atd) {
        this.atd = atd;
    }

    @Basic
    @Column(name = "YOT")
    public String getYot() {
        return yot;
    }

    public void setYot(String yot) {
        this.yot = yot;
    }

    @Basic
    @Column(name = "YCT")
    public String getYct() {
        return yct;
    }

    public void setYct(String yct) {
        this.yct = yct;
    }

    @Basic
    @Column(name = "LOADING_AMOUNT")
    public Long getLoadingAmount() {
        return loadingAmount;
    }

    public void setLoadingAmount(Long loadingAmount) {
        this.loadingAmount = loadingAmount;
    }

    @Basic
    @Column(name = "DISCHARGING_AMOUNT")
    public Long getDischargingAmount() {
        return dischargingAmount;
    }

    public void setDischargingAmount(Long dischargingAmount) {
        this.dischargingAmount = dischargingAmount;
    }

    @Basic
    @Column(name = "PROCESS")
    public Long getProcess() {
        return process;
    }

    public void setProcess(Long process) {
        this.process = process;
    }

    @Basic
    @Column(name = "UPDATE_TIME")
    public Time getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Time updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        OuterlinkBerthPlanEntity that = (OuterlinkBerthPlanEntity) o;

        if (vesselVoyageNumber != null ? !vesselVoyageNumber.equals(that.vesselVoyageNumber) : that.vesselVoyageNumber != null)
            return false;
        if (vesselCode != null ? !vesselCode.equals(that.vesselCode) : that.vesselCode != null) return false;
        if (vesselNameCn != null ? !vesselNameCn.equals(that.vesselNameCn) : that.vesselNameCn != null) return false;
        if (vesselNameEn != null ? !vesselNameEn.equals(that.vesselNameEn) : that.vesselNameEn != null) return false;
        if (inVoyage != null ? !inVoyage.equals(that.inVoyage) : that.inVoyage != null) return false;
        if (outVoyage != null ? !outVoyage.equals(that.outVoyage) : that.outVoyage != null) return false;
        if (inLaneCode != null ? !inLaneCode.equals(that.inLaneCode) : that.inLaneCode != null) return false;
        if (outLaneCode != null ? !outLaneCode.equals(that.outLaneCode) : that.outLaneCode != null) return false;
        if (operatorCode != null ? !operatorCode.equals(that.operatorCode) : that.operatorCode != null) return false;
        if (agent != null ? !agent.equals(that.agent) : that.agent != null) return false;
        if (vesselType != null ? !vesselType.equals(that.vesselType) : that.vesselType != null) return false;
        if (flag != null ? !flag.equals(that.flag) : that.flag != null) return false;
        if (vesselStatus != null ? !vesselStatus.equals(that.vesselStatus) : that.vesselStatus != null) return false;
        if (lengthOverAll != null ? !lengthOverAll.equals(that.lengthOverAll) : that.lengthOverAll != null)
            return false;
        if (lengthBetweenPerpendiculars != null ? !lengthBetweenPerpendiculars.equals(that.lengthBetweenPerpendiculars) : that.lengthBetweenPerpendiculars != null)
            return false;
        if (bowToBridge != null ? !bowToBridge.equals(that.bowToBridge) : that.bowToBridge != null) return false;
        if (sternToBridge != null ? !sternToBridge.equals(that.sternToBridge) : that.sternToBridge != null)
            return false;
        if (berthName != null ? !berthName.equals(that.berthName) : that.berthName != null) return false;
        if (startBitt != null ? !startBitt.equals(that.startBitt) : that.startBitt != null) return false;
        if (endBitt != null ? !endBitt.equals(that.endBitt) : that.endBitt != null) return false;
        if (alongside != null ? !alongside.equals(that.alongside) : that.alongside != null) return false;
        if (eta != null ? !eta.equals(that.eta) : that.eta != null) return false;
        if (etb != null ? !etb.equals(that.etb) : that.etb != null) return false;
        if (etw != null ? !etw.equals(that.etw) : that.etw != null) return false;
        if (etc != null ? !etc.equals(that.etc) : that.etc != null) return false;
        if (etd != null ? !etd.equals(that.etd) : that.etd != null) return false;
        if (ata != null ? !ata.equals(that.ata) : that.ata != null) return false;
        if (atb != null ? !atb.equals(that.atb) : that.atb != null) return false;
        if (atw != null ? !atw.equals(that.atw) : that.atw != null) return false;
        if (atc != null ? !atc.equals(that.atc) : that.atc != null) return false;
        if (atd != null ? !atd.equals(that.atd) : that.atd != null) return false;
        if (yot != null ? !yot.equals(that.yot) : that.yot != null) return false;
        if (yct != null ? !yct.equals(that.yct) : that.yct != null) return false;
        if (loadingAmount != null ? !loadingAmount.equals(that.loadingAmount) : that.loadingAmount != null)
            return false;
        if (dischargingAmount != null ? !dischargingAmount.equals(that.dischargingAmount) : that.dischargingAmount != null)
            return false;
        if (process != null ? !process.equals(that.process) : that.process != null) return false;
        if (updateTime != null ? !updateTime.equals(that.updateTime) : that.updateTime != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = vesselVoyageNumber != null ? vesselVoyageNumber.hashCode() : 0;
        result = 31 * result + (vesselCode != null ? vesselCode.hashCode() : 0);
        result = 31 * result + (vesselNameCn != null ? vesselNameCn.hashCode() : 0);
        result = 31 * result + (vesselNameEn != null ? vesselNameEn.hashCode() : 0);
        result = 31 * result + (inVoyage != null ? inVoyage.hashCode() : 0);
        result = 31 * result + (outVoyage != null ? outVoyage.hashCode() : 0);
        result = 31 * result + (inLaneCode != null ? inLaneCode.hashCode() : 0);
        result = 31 * result + (outLaneCode != null ? outLaneCode.hashCode() : 0);
        result = 31 * result + (operatorCode != null ? operatorCode.hashCode() : 0);
        result = 31 * result + (agent != null ? agent.hashCode() : 0);
        result = 31 * result + (vesselType != null ? vesselType.hashCode() : 0);
        result = 31 * result + (flag != null ? flag.hashCode() : 0);
        result = 31 * result + (vesselStatus != null ? vesselStatus.hashCode() : 0);
        result = 31 * result + (lengthOverAll != null ? lengthOverAll.hashCode() : 0);
        result = 31 * result + (lengthBetweenPerpendiculars != null ? lengthBetweenPerpendiculars.hashCode() : 0);
        result = 31 * result + (bowToBridge != null ? bowToBridge.hashCode() : 0);
        result = 31 * result + (sternToBridge != null ? sternToBridge.hashCode() : 0);
        result = 31 * result + (berthName != null ? berthName.hashCode() : 0);
        result = 31 * result + (startBitt != null ? startBitt.hashCode() : 0);
        result = 31 * result + (endBitt != null ? endBitt.hashCode() : 0);
        result = 31 * result + (alongside != null ? alongside.hashCode() : 0);
        result = 31 * result + (eta != null ? eta.hashCode() : 0);
        result = 31 * result + (etb != null ? etb.hashCode() : 0);
        result = 31 * result + (etw != null ? etw.hashCode() : 0);
        result = 31 * result + (etc != null ? etc.hashCode() : 0);
        result = 31 * result + (etd != null ? etd.hashCode() : 0);
        result = 31 * result + (ata != null ? ata.hashCode() : 0);
        result = 31 * result + (atb != null ? atb.hashCode() : 0);
        result = 31 * result + (atw != null ? atw.hashCode() : 0);
        result = 31 * result + (atc != null ? atc.hashCode() : 0);
        result = 31 * result + (atd != null ? atd.hashCode() : 0);
        result = 31 * result + (yot != null ? yot.hashCode() : 0);
        result = 31 * result + (yct != null ? yct.hashCode() : 0);
        result = 31 * result + (loadingAmount != null ? loadingAmount.hashCode() : 0);
        result = 31 * result + (dischargingAmount != null ? dischargingAmount.hashCode() : 0);
        result = 31 * result + (process != null ? process.hashCode() : 0);
        result = 31 * result + (updateTime != null ? updateTime.hashCode() : 0);
        return result;
    }

    private String id;

    @Id
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
}
